--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/frontend/Toast.test.js v4.5.0-rc.1 (62ba0631) Text, 3.58 KB
Tff7b72import Tb4b4b4{ Te6edf3mount Tb4b4b4} Tff7b72from Ta5d6ff"@vue/test-utils"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3describeTb4b4b4, Te6edf3itTb4b4b4, Te6edf3expectTb4b4b4, Te6edf3viTb4b4b4, Te6edf3beforeEachTb4b4b4, Te6edf3afterEach Tb4b4b4} Tff7b72from Ta5d6ff"vitest"Tb4b4b4;
Tff7b72import Te6edf3Toast Tff7b72from Ta5d6ff"@/components/Toast.vue"Tb4b4b4;
Tff7b72import Te6edf3GlobalEmitter Tff7b72from Ta5d6ff"@/js/GlobalEmitter"Tb4b4b4;
Te6edf3describeTb4b4b4(Ta5d6ff"Toast.vue"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72let Te6edf3wrapperTb4b4b4;
Te6edf3beforeEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3viTb4b4b4.Te6edf3useFakeTimersTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3wrapper Tff7b72= Te6edf3mountTb4b4b4(Te6edf3ToastTb4b4b4, Tb4b4b4{
Tffa657globalTff7b72: Tb4b4b4{
Te6edf3mocksTff7b72: Tb4b4b4{
Te6edf3$tTff7b72: Tb4b4b4(Te6edf3msgTb4b4b4) Tb4b4b4=> Te6edf3msgTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3stubsTff7b72: Tb4b4b4{
Te6edf3TransitionGroupTff7b72: Tb4b4b4{ Te6edf3templateTff7b72: Ta5d6ff"<div><slot /></div>" Tb4b4b4}Tb4b4b4,
Te6edf3MaterialDesignIconTff7b72: Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"MaterialDesignIcon"Tb4b4b4,
Te6edf3templateTff7b72: Ta5d6ff'<div class="mdi-stub"></div>'Tb4b4b4,
Te6edf3propsTff7b72: Tb4b4b4[Ta5d6ff"iconName"Tb4b4b4]Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3afterEachTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3wrapperTb4b4b4) Tb4b4b4{
Te6edf3wrapperTb4b4b4.Te6edf3unmountTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Te6edf3viTb4b4b4.Te6edf3useRealTimersTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"adds a toast when GlobalEmitter emits 'toast'"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Test Message"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"success" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Test Message"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3icon Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findComponentTb4b4b4(Tb4b4b4{ Te6edf3nameTff7b72: Ta5d6ff"MaterialDesignIcon" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3iconTb4b4b4.Te6edf3existsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3iconTb4b4b4.Te6edf3propsTb4b4b4(Ta5d6ff"iconName"Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Ta5d6ff"check-circle"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"removes a toast after duration"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Test Message"Tb4b4b4, Te6edf3durationTff7b72: T79c0ff1000 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Test Message"Tb4b4b4)Tb4b4b4;
Te6edf3viTb4b4b4.Te6edf3advanceTimersByTimeTb4b4b4(T79c0ff1001Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Test Message"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"removes a toast when GlobalEmitter emits toast-dismiss with matching key"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Loading"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"loading"Tb4b4b4, Te6edf3durationTff7b72: T79c0ff0Tb4b4b4, Te6edf3keyTff7b72: Ta5d6ff"job-1" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Loading"Tb4b4b4)Tb4b4b4;
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast-dismiss"Tb4b4b4, Tb4b4b4{ Te6edf3keyTff7b72: Ta5d6ff"job-1" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Loading"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"removes a toast when clicking the close button"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Test Message"Tb4b4b4, Te6edf3durationTff7b72: T79c0ff0 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Test Message"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3closeButton Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findTb4b4b4(Ta5d6ff"button"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3closeButtonTb4b4b4.Te6edf3triggerTb4b4b4(Ta5d6ff"click"Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3textTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3notTb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"Test Message"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"assigns correct classes for different toast types"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Success"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"success" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Error"Tb4b4b4, Te6edf3typeTff7b72: Ta5d6ff"error" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3toasts Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findAllTb4b4b4(Ta5d6ff".pointer-events-auto"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3toastsTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4.Te6edf3classesTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"border-green-500/30"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3toastsTb4b4b4[T79c0ff1Tb4b4b4]Tb4b4b4.Te6edf3classesTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toContainTb4b4b4(Ta5d6ff"border-red-500/30"Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"shows no toasts initially"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3expectTb4b4b4(Te6edf3wrapperTb4b4b4.Te6edf3findAllTb4b4b4(Ta5d6ff".pointer-events-auto"Tb4b4b4)Tb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3itTb4b4b4(Ta5d6ff"single toast has a close button"Tb4b4b4, Tff7b72async Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3GlobalEmitterTb4b4b4.Te6edf3emitTb4b4b4(Ta5d6ff"toast"Tb4b4b4, Tb4b4b4{ Te6edf3messageTff7b72: Ta5d6ff"Hi"Tb4b4b4, Te6edf3durationTff7b72: T79c0ff0 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72await Te6edf3wrapperTb4b4b4.Te6edf3vmTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3toast Tff7b72= Te6edf3wrapperTb4b4b4.Te6edf3findTb4b4b4(Ta5d6ff".pointer-events-auto"Tb4b4b4)Tb4b4b4;
Te6edf3expectTb4b4b4(Te6edf3toastTb4b4b4.Te6edf3findTb4b4b4(Ta5d6ff"button"Tb4b4b4)Tb4b4b4.Te6edf3existsTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3toBeTb4b4b4(Tff7b72trueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────